In a shared-memory multiprocessor system with a separate cache memory for each processor or core, cache coherency must be maintained to ensure that changes in the values of shared operands are propagated throughout the coherency system to maintain the consistency of data stored in local caches of a shared resource. As more cores are integrated on a socket, the number of outstanding requests that the memory hierarchy and coherence system has to handle also grows because each tag directory entry needs to maintain and track each additional core. A cache coherency protocol may be implemented to maintain the property that all reads to a cache obtain the latest value for all of the caches in a distributed shared-memory system.